package com.mofum.msdom.excel.template.metadata;

import com.mofum.msdom.excel.converter.ExcelConverter;
import com.mofum.msdom.excel.converter.TypeConverter;
import com.mofum.msdom.excel.metadata.MPStyle;

/**
 * Sheet模板项
 *
 * @author yuyang@qxy37.com
 * @since 2019/1/24 0024 19:11
 */
public class MPSheetTemplateItem {

    /**
     * 模板项名称
     */
    private String name;

    /**
     * 行
     */
    private int rowIndex;

    /**
     * 列
     */
    private int colIndex;

    /**
     * 样式
     */
    private MPStyle[] styles;

    /**
     * 转换器
     */
    private Class<? extends TypeConverter> converter;

    /**
     * Excel 转换器
     */
    private Class<? extends ExcelConverter> excelConverter;

    /**
     * 必要
     */
    private boolean required;

    /**
     * 项类型
     */
    private String type;

    /**
     * 项类型图标
     *
     * @see com.mofum.msdom.excel.constant.ItemType
     */
    private String defaultType;

    /**
     * 选中的值 1:Value|2:Value|3:Value (显示类型:值，多个以“,”或者“|”分割)
     *
     * @see com.mofum.msdom.excel.constant.ItemType
     */
    private String selectedType;

    /**
     * 当前Sheet 索引
     */
    private int sheetIndex;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getRowIndex() {
        return rowIndex;
    }

    public void setRowIndex(int rowIndex) {
        this.rowIndex = rowIndex;
    }

    public int getColIndex() {
        return colIndex;
    }

    public void setColIndex(int colIndex) {
        this.colIndex = colIndex;
    }

    public MPStyle[] getStyles() {
        return styles;
    }

    public void setStyles(MPStyle[] styles) {
        this.styles = styles;
    }

    public Class<? extends TypeConverter> getConverter() {
        return converter;
    }

    public void setConverter(Class<? extends TypeConverter> converter) {
        this.converter = converter;
    }

    public Class<? extends ExcelConverter> getExcelConverter() {
        return excelConverter;
    }

    public void setExcelConverter(Class<? extends ExcelConverter> excelConverter) {
        this.excelConverter = excelConverter;
    }

    public boolean isRequired() {
        return required;
    }

    public void setRequired(boolean required) {
        this.required = required;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getDefaultType() {
        return defaultType;
    }

    public void setDefaultType(String defaultType) {
        this.defaultType = defaultType;
    }

    public String getSelectedType() {
        return selectedType;
    }

    public void setSelectedType(String selectedType) {
        this.selectedType = selectedType;
    }

    public int getSheetIndex() {
        return sheetIndex;
    }

    public void setSheetIndex(int sheetIndex) {
        this.sheetIndex = sheetIndex;
    }
}
